/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tamnhat.report.controller;

import com.tamnhat.report.model.ReportP1Model;
import com.tamnhat.report.model.ReportP2Model;
import com.telsoft.applet.util.StringUtil;
import java.io.Serializable;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

/**
 *
 * @author Administrator
 */
@ViewScoped
public class BaocaoSLDVMOController implements Serializable{

    private Date tuNgay;
    private Date denNgay;
    private String doitac;
    private DataModel items;

    /**
     * Creates a new instance of BaocaoSLDVMOController
     */
    public BaocaoSLDVMOController() {
    }

    public Date getTuNgay() {
        return tuNgay;
    }

    public void setTuNgay(Date tuNgay) {
        this.tuNgay = tuNgay;
    }

    public Date getDenNgay() {
        return denNgay;
    }

    public void setDenNgay(Date denNgay) {
        this.denNgay = denNgay;
    }

    public String getDoitac() {
        return doitac;
    }

    public void setDoitac(String doitac) {
        this.doitac = doitac;
    }

    public DataModel getItems() {
        return items;
    }

    public void setItems(DataModel items) {
        this.items = items;
    }

    public boolean checkInput() {
        if (tuNgay == null || denNgay == null) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Đến ngày hoặc đến ngày không được bỏ trống!"));
            return false;
        }
        denNgay.setDate(denNgay.getDate() + 1);
        if (tuNgay.compareTo(denNgay) >= 0) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Đến ngày phải lớn hơn từ ngày!"));
            return false;
        }
        return true;
    }

    public String xem() {
        try {
            if (checkInput()) {
                items = new ListDataModel(ReportP1Model.getReport(StringUtil.format(tuNgay, "dd-MM-yyyy"), StringUtil.format(denNgay, "dd-MM-yyyy"), Integer.parseInt(doitac)));
                denNgay.setDate(denNgay.getDate() - 1);
                int i = items.getRowCount();
                if (i > 0) {
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Có " + i + " bản ghi được tìm thấy!"));
                } else {
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Không có bản ghi nào được tìm thấy!"));
                }
            }
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("ERROR: " + e.getMessage()));
            e.printStackTrace();
        }
        return "";
    }

    public String xemP2() {
        try {
            if (checkInput()) {
                items = new ListDataModel(ReportP2Model.getReport(StringUtil.format(tuNgay, "dd-MM-yyyy"), StringUtil.format(denNgay, "dd-MM-yyyy"), Integer.parseInt(doitac)));
                denNgay.setDate(denNgay.getDate() - 1);
                int i = items.getRowCount();
                if (i > 0) {
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Có " + i + " bản ghi được tìm thấy!"));
                } else {
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Không có bản ghi nào được tìm thấy!"));
                }
            }
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("ERROR: " + e.getMessage()));
            e.printStackTrace();
        }
        return "";
    }
}
